Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

Co-array Fortran
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Co-array Fortran (CAF), ehemals F--, ist eine Erweiterung der Programmiersprache Fortran 95/2003 zur parallelen Datenverarbeitung, die von Robert Numrich und John Reid in den 1990er Jahren entwickelt wurde. Der Fortran-Standard unterstΓΌtzt Coarrays (jetzt ohne Bindestrich) seit Fortran 2008 (ISO/IEC 1539-1:2010), wie es auf dem May-2005-Treffen des ISO Fortran Komitees beschlossen wurde; die Syntax im Fortran 2008 Standard unterscheidet sich leicht vom ursprΓΌnglichen CAF-Vorschlag.

Ein Coarray-Fortran-Programm wird so interpretiert, als ob es n-mal repliziert wΓΌrde und alle Kopien asynchron ausgefΓΌhrt wΓΌrden. Jede Kopie hat ihre eigenen Datenobjekte und wird Bild (β€žimageβ€œ) genannt. Die Feld-Syntax von Fortran wird erweitert um rechteckige Klammern, die den Bildindex enthalten, mit dem man so auf die Daten eines anderen Bildes (Prozesses) zugreifen kann.

Die Co-array-Fortran-Erweiterung gibt es schon seit den 1990ern und sie wird in einigen Fortrancompilern wie zum Beispiel dem von Cray (ab Version 3.1) unterstützt. Seitdem Coarrays Teil von Fortran 2008 sind, nimmt die Anzahl der Implementation zu; der erste Open-Source-Compiler, der Coarrays gemÀß dem Fortran-2008-Standard unterstützt, ist G95.

Contents

β€’ Beispiel
β€’ Siehe auch
β€’ Weblinks

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Beispiel

program Hallo_Welt
implicit none
integer :: i ! Lokale Variable
character(len=20) :: name[*] ! skalares Coarray
! Hinweis: "name" ist die lokale Variable wohingegen "name[<index>]"
! auf die Variable eines anderen Prozesses (Image) zugreift
! Kommuniziere mit dem Nutzer auf Image 1
if (this_image() == 1) then
write(*,'(a)',advance='no') 'Geben Sie Ihren Namen ein: '
read(*,'(a)') name
! Verteile die Information an die anderen Prozesse
do i = 2, num_images()
name[i] = name
end do
end if
sync all ! Barriere damit die Daten wirklich da sind
! Ein-/Ausgabe von allen Prozessen
write(*,'(3a,i0)') 'Hallo ',trim(name),' von Image ', this_image()
end program Hallo_Welt

Siehe auch
Weblinks

β€’ ISO Fortran Committee
β€’ Coarrays in the next Fortran Standard (PDF)
β€’ Rationale for Co-Arrays in Fortran 2008 (PDF)